{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Using Opik with CrewAI\n",
    "\n",
    "This notebook showcases how to use Opik with CrewAI. [CrewAI](https://github.com/crewAIInc/crewAI) is a cutting-edge framework for orchestrating autonomous AI agents.\n",
    "> CrewAI enables you to create AI teams where each agent has specific roles, tools, and goals, working together to accomplish complex tasks.\n",
    "\n",
    "> Think of it as assembling your dream team - each member (agent) brings unique skills and expertise, collaborating seamlessly to achieve your objectives.\n",
    "\n",
    "For this guide we will use CrewAI's quickstart example."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Creating an account on Comet.com\n",
    "\n",
    "[Comet](https://www.comet.com/site?from=llm&utm_source=opik&utm_medium=colab&utm_content=llamaindex&utm_campaign=opik) provides a hosted version of the Opik platform, [simply create an account](https://www.comet.com/signup?from=llm&=opik&utm_medium=colab&utm_content=llamaindex&utm_campaign=opik) and grab your API Key.\n",
    "\n",
    "> You can also run the Opik platform locally, see the [installation guide](https://www.comet.com/docs/opik/self-host/overview/?from=llm&utm_source=opik&utm_medium=colab&utm_content=llamaindex&utm_campaign=opik) for more information."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "%pip install crewai crewai-tools opik --upgrade"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import opik\n",
    "\n",
    "opik.configure(use_local=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preparing our environment\n",
    "\n",
    "First, we set up our API keys for our LLM-provider as environment variables:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T22:43:44.846076Z",
     "start_time": "2025-01-13T22:43:42.594413Z"
    }
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import getpass\n",
    "\n",
    "if \"OPENAI_API_KEY\" not in os.environ:\n",
    "    os.environ[\"OPENAI_API_KEY\"] = getpass.getpass(\"Enter your OpenAI API key: \")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Using CrewAI\n",
    "The first step is to create our project. We will use an example from CrewAI's documentation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T22:43:24.541363Z",
     "start_time": "2025-01-13T22:43:21.919368Z"
    }
   },
   "outputs": [],
   "source": [
    "from crewai import Agent, Crew, Task, Process\n",
    "\n",
    "\n",
    "class YourCrewName:\n",
    "    def agent_one(self) -> Agent:\n",
    "        return Agent(\n",
    "            role=\"Data Analyst\",\n",
    "            goal=\"Analyze data trends in the market\",\n",
    "            backstory=\"An experienced data analyst with a background in economics\",\n",
    "            verbose=True,\n",
    "        )\n",
    "\n",
    "    def agent_two(self) -> Agent:\n",
    "        return Agent(\n",
    "            role=\"Market Researcher\",\n",
    "            goal=\"Gather information on market dynamics\",\n",
    "            backstory=\"A diligent researcher with a keen eye for detail\",\n",
    "            verbose=True,\n",
    "        )\n",
    "\n",
    "    def task_one(self) -> Task:\n",
    "        return Task(\n",
    "            name=\"Collect Data Task\",\n",
    "            description=\"Collect recent market data and identify trends.\",\n",
    "            expected_output=\"A report summarizing key trends in the market.\",\n",
    "            agent=self.agent_one(),\n",
    "        )\n",
    "\n",
    "    def task_two(self) -> Task:\n",
    "        return Task(\n",
    "            name=\"Market Research Task\",\n",
    "            description=\"Research factors affecting market dynamics.\",\n",
    "            expected_output=\"An analysis of factors influencing the market.\",\n",
    "            agent=self.agent_two(),\n",
    "        )\n",
    "\n",
    "    def crew(self) -> Crew:\n",
    "        return Crew(\n",
    "            agents=[self.agent_one(), self.agent_two()],\n",
    "            tasks=[self.task_one(), self.task_two()],\n",
    "            process=Process.sequential,\n",
    "            verbose=True,\n",
    "        )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can import Opik's tracker and run our `crew`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-13T22:44:15.997951Z",
     "start_time": "2025-01-13T22:43:48.508770Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[1m\u001b[95m# Agent:\u001b[00m \u001b[1m\u001b[92mData Analyst\u001b[00m\n",
      "\u001b[95m## Task:\u001b[00m \u001b[92mCollect recent market data and identify trends.\u001b[00m\n",
      "\n",
      "\n",
      "\u001b[1m\u001b[95m# Agent:\u001b[00m \u001b[1m\u001b[92mData Analyst\u001b[00m\n",
      "\u001b[95m## Final Answer:\u001b[00m \u001b[92m\n",
      "**Market Trends Report – October 2023**\n",
      "\n",
      "**Executive Summary:**\n",
      "The current market landscape is characterized by several key trends driven by economic factors, consumer behavior, and technological advancements. This report outlines significant trends in various sectors, including consumer goods, technology, real estate, and labor markets, providing insights for stakeholders to make informed decisions.\n",
      "\n",
      "**1. Consumer Goods Sector:**\n",
      "   - **Shift Toward Sustainability:** Increasing consumer awareness regarding climate change has led to a surge in demand for sustainable and eco-friendly products. Brands that prioritize green practices are seeing significant market growth.\n",
      "   - **E-commerce Dominance:** Online shopping remains at an all-time high, with over 25% of total retail sales attributed to e-commerce as of Q3 2023. Companies investing in user-friendly websites and efficient delivery systems are outperforming traditional storefronts.\n",
      "   - **Health and Wellness Focus:** There is an ongoing trend towards health and wellness, with consumers prioritizing products that promote physical and mental wellbeing. The organic food category has grown by 15% compared to the previous year.\n",
      "\n",
      "**2. Technology Sector:**\n",
      "   - **AI and Automation:** Companies worldwide are increasingly adopting artificial intelligence and automation technologies to enhance productivity. Industries such as manufacturing and customer service are seeing significant transformations with the introduction of AI solutions.\n",
      "   - **Remote Work Technologies:** The demand for remote work solutions continues, driving growth in software and communication tools. Solutions like Microsoft Teams and Zoom are seeing adoption rates increase by over 20% year-on-year.\n",
      "   - **Cybersecurity Threats:** As digital transformation accelerates, so does the focus on cybersecurity. Cybersecurity services market is expected to grow by 12% CAGR over the next five years, reflecting the need for robust security measures.\n",
      "\n",
      "**3. Real Estate Sector:**\n",
      "   - **Urban to Suburban Migration:** A notable trend of urban dwellers moving to suburban areas continues, spurred by the desire for larger living spaces and remote work flexibility. Suburban real estate prices have risen by an average of 10% in 2023.\n",
      "   - **Surge in Rental Market:** The rental market remains strong as affordability challenges persist for first-time homebuyers. Urban rental rates have increased by 8%, indicating a growing demand for rental accommodations.\n",
      "   - **Green Buildings:** Eco-friendly building practices are gaining traction, contributing to the rise of \"green\" certifications in real estate developments. Properties with sustainable designs are commanding a premium price on the market.\n",
      "\n",
      "**4. Labor Market Trends:**\n",
      "   - **Skills Gap:** A skills gap persists in the labor market, with employers struggling to find qualified candidates in tech and skilled trades. This is driving companies to invest more in training and development programs.\n",
      "   - **Gig Economy Expansion:** The gig economy continues to expand, with a growing number of workers opting for freelance or contract positions. This reflects a shifting mindset around work flexibility and job security.\n",
      "   - **Wage Growth:** Nationwide wage growth has seen a steady increase of approximately 4% this year, driven by labor shortages and increased cost of living, impacting consumer spending patterns.\n",
      "\n",
      "**Conclusion:**\n",
      "The market trends of October 2023 highlight significant shifts across various sectors. Stakeholders should pay attention to the rise of sustainability in consumer goods, the ongoing digital transformation in technology, the evolving landscape of real estate, and the changes in the labor market. These insights can inform strategic decisions and adapt to the dynamic market environment.\n",
      "\n",
      "---\n",
      "\n",
      "This comprehensive report outlines the prevailing market trends critical for understanding the current economic landscape.\u001b[00m\n",
      "\n",
      "\n",
      "\u001b[1m\u001b[95m# Agent:\u001b[00m \u001b[1m\u001b[92mMarket Researcher\u001b[00m\n",
      "\u001b[95m## Task:\u001b[00m \u001b[92mResearch factors affecting market dynamics.\u001b[00m\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "OPIK: Started logging traces to the \"crewai-integration-demo\" project at http://localhost:5173/default/redirect/projects?name=crewai-integration-demo.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "\u001b[1m\u001b[95m# Agent:\u001b[00m \u001b[1m\u001b[92mMarket Researcher\u001b[00m\n",
      "\u001b[95m## Final Answer:\u001b[00m \u001b[92m\n",
      "The current market dynamics are influenced by a multitude of interrelated factors that span consumer preferences, technological advancements, economic conditions, and social trends. An in-depth analysis of these influencing factors reveals a comprehensive picture of how they impact market behavior across various sectors. \n",
      "\n",
      "**1. Economic Factors:**\n",
      "   - **Inflation and Cost of Living:** Rising inflation rates are forcing consumers to reassess their spending habits. There is a marked shift towards value-based purchasing as individuals prioritize essential goods over luxury items. This is particularly evident in the consumer goods sector, where brands that demonstrate value and quality are thriving.\n",
      "   - **Wage Growth:** A 4% increase in wages in the labor market has a direct impact on disposable income. As consumers experience more financial flexibility, spending on discretionary items, particularly in health and wellness sectors, shows an uptick.\n",
      "\n",
      "**2. Consumer Behavior:**\n",
      "   - **Sustainability Consciousness:** Consumer awareness regarding environmental impacts is driving demand for sustainable products. Brands that adopt eco-friendly practices not only appeal to a growing segment of eco-conscious consumers but also enhance their brand loyalty and market competitiveness.\n",
      "   - **Health Trends:** The emphasis on health and wellness is leading consumers to make more informed choices, favoring products that promote both physical and mental well-being. This is pushing manufacturers in the consumer goods sector to innovate and cater to this health-oriented demographic.\n",
      "\n",
      "**3. Technological Advancements:**\n",
      "   - **AI and Automation:** The integration of artificial intelligence in industries is transforming operational efficiencies and customer experiences. For instance, automation in manufacturing is not only reducing costs but also accelerating production timelines, thereby enhancing competitiveness.\n",
      "   - **Remote Work Technologies:** The increased reliance on digital communication tools, stemming from the shift towards remote work, signifies an ongoing demand for tech solutions that support collaboration and productivity. This trend illustrates the necessity for companies to evolve their technology strategy to remain relevant.\n",
      "\n",
      "**4. Social Trends:**\n",
      "   - **Migration Patterns:** The ongoing trend of urban to suburban migration reflects broader societal shifts influenced by lifestyle preferences and the necessity for more spacious living environments. This migration is not only affecting real estate prices in suburban areas but also reshaping urban planning and local economies.\n",
      "   - **Gig Economy:** The expansion of the gig economy highlights a fundamental cultural shift towards flexible work arrangements. As more individuals seek freelance opportunities for better work-life balance, businesses must adapt their hiring strategies to appeal to this workforce.\n",
      "\n",
      "**5. Environmental and Regulatory Factors:**\n",
      "   - **Rise of Green Initiatives:** The emphasis on green building practices and sustainability in real estate indicates regulatory trends pushing for environmentally responsible development. Properties aligning with these initiatives are finding favor in the market, often fetching higher prices and attracting eco-aware buyers.\n",
      "\n",
      "**Conclusion:**\n",
      "Understanding the multifaceted dynamics affecting the market is crucial for stakeholders aiming to navigate today's economic landscape effectively. The convergence of economic pressures, consumer preferences, and technological advancements creates a complex environment that requires adaptive strategies. By aligning business practices with these influencing factors, companies can better position themselves for growth, enhance their competitiveness, and respond to the evolving market landscape. The insights from the current market trends report will provide a strategic foundation for informed decisions going forward.\u001b[00m\n",
      "\n",
      "\n",
      "The current market dynamics are influenced by a multitude of interrelated factors that span consumer preferences, technological advancements, economic conditions, and social trends. An in-depth analysis of these influencing factors reveals a comprehensive picture of how they impact market behavior across various sectors. \n",
      "\n",
      "**1. Economic Factors:**\n",
      "   - **Inflation and Cost of Living:** Rising inflation rates are forcing consumers to reassess their spending habits. There is a marked shift towards value-based purchasing as individuals prioritize essential goods over luxury items. This is particularly evident in the consumer goods sector, where brands that demonstrate value and quality are thriving.\n",
      "   - **Wage Growth:** A 4% increase in wages in the labor market has a direct impact on disposable income. As consumers experience more financial flexibility, spending on discretionary items, particularly in health and wellness sectors, shows an uptick.\n",
      "\n",
      "**2. Consumer Behavior:**\n",
      "   - **Sustainability Consciousness:** Consumer awareness regarding environmental impacts is driving demand for sustainable products. Brands that adopt eco-friendly practices not only appeal to a growing segment of eco-conscious consumers but also enhance their brand loyalty and market competitiveness.\n",
      "   - **Health Trends:** The emphasis on health and wellness is leading consumers to make more informed choices, favoring products that promote both physical and mental well-being. This is pushing manufacturers in the consumer goods sector to innovate and cater to this health-oriented demographic.\n",
      "\n",
      "**3. Technological Advancements:**\n",
      "   - **AI and Automation:** The integration of artificial intelligence in industries is transforming operational efficiencies and customer experiences. For instance, automation in manufacturing is not only reducing costs but also accelerating production timelines, thereby enhancing competitiveness.\n",
      "   - **Remote Work Technologies:** The increased reliance on digital communication tools, stemming from the shift towards remote work, signifies an ongoing demand for tech solutions that support collaboration and productivity. This trend illustrates the necessity for companies to evolve their technology strategy to remain relevant.\n",
      "\n",
      "**4. Social Trends:**\n",
      "   - **Migration Patterns:** The ongoing trend of urban to suburban migration reflects broader societal shifts influenced by lifestyle preferences and the necessity for more spacious living environments. This migration is not only affecting real estate prices in suburban areas but also reshaping urban planning and local economies.\n",
      "   - **Gig Economy:** The expansion of the gig economy highlights a fundamental cultural shift towards flexible work arrangements. As more individuals seek freelance opportunities for better work-life balance, businesses must adapt their hiring strategies to appeal to this workforce.\n",
      "\n",
      "**5. Environmental and Regulatory Factors:**\n",
      "   - **Rise of Green Initiatives:** The emphasis on green building practices and sustainability in real estate indicates regulatory trends pushing for environmentally responsible development. Properties aligning with these initiatives are finding favor in the market, often fetching higher prices and attracting eco-aware buyers.\n",
      "\n",
      "**Conclusion:**\n",
      "Understanding the multifaceted dynamics affecting the market is crucial for stakeholders aiming to navigate today's economic landscape effectively. The convergence of economic pressures, consumer preferences, and technological advancements creates a complex environment that requires adaptive strategies. By aligning business practices with these influencing factors, companies can better position themselves for growth, enhance their competitiveness, and respond to the evolving market landscape. The insights from the current market trends report will provide a strategic foundation for informed decisions going forward.\n"
     ]
    }
   ],
   "source": [
    "from opik.integrations.crewai import track_crewai\n",
    "\n",
    "track_crewai(project_name=\"crewai-integration-demo\")\n",
    "\n",
    "my_crew = YourCrewName().crew()\n",
    "result = my_crew.kickoff()\n",
    "\n",
    "print(result)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can now go to the Opik app to see the trace:\n",
    "\n",
    "![CrewAI trace in Opik](https://raw.githubusercontent.com/comet-ml/opik/main/apps/opik-documentation/documentation/fern/img/cookbook/crewai_trace_cookbook.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "py312_llm_eval",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
